package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontInfoTopic table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontInfoTopic"
 */

public abstract class BaseAnteFrontInfoTopic  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontInfoTopic";
	public static String PROP_PUB_TIME = "pubTime";
	public static String PROP_INFO_ID = "InfoId";
	public static String PROP_PUBLISHER = "publisher";
	public static String PROP_TOPIC = "topic";
	public static String PROP_OPER_TIME = "operTime";
	public static String PROP_OPERATOR = "operator";
	public static String PROP_INFO_TYPE = "infoType";
	public static String PROP_IS_TOP = "isTop";
	public static String PROP_CONTENT = "content";


	// constructors
	public BaseAnteFrontInfoTopic () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontInfoTopic (java.lang.Integer infoId) {
		this.setInfoId(infoId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontInfoTopic (
		java.lang.Integer infoId,
		java.lang.String topic,
		java.lang.Integer isTop,
		java.lang.Integer infoType,
		java.lang.String publisher,
		java.util.Date pubTime,
		java.lang.String operator,
		java.util.Date operTime) {

		this.setInfoId(infoId);
		this.setTopic(topic);
		this.setIsTop(isTop);
		this.setInfoType(infoType);
		this.setPublisher(publisher);
		this.setPubTime(pubTime);
		this.setOperator(operator);
		this.setOperTime(operTime);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer infoId;

	// fields
	private java.lang.String topic;
	private java.lang.String content;
	private java.lang.Integer isTop;
	private java.lang.Integer infoType;
	private java.lang.String publisher;
	private java.util.Date pubTime;
	private java.lang.String operator;
	private java.util.Date operTime;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="assigned"
     *  column="InfoId"
     */
	public java.lang.Integer getInfoId () {
		return infoId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param infoId the new ID
	 */
	public void setInfoId (java.lang.Integer infoId) {
		this.infoId = infoId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: Topic
	 */
	public java.lang.String getTopic () {
		return topic;
	}

	/**
	 * Set the value related to the column: Topic
	 * @param topic the Topic value
	 */
	public void setTopic (java.lang.String topic) {
		this.topic = topic;
	}



	/**
	 * Return the value associated with the column: Content
	 */
	public java.lang.String getContent () {
		return content;
	}

	/**
	 * Set the value related to the column: Content
	 * @param content the Content value
	 */
	public void setContent (java.lang.String content) {
		this.content = content;
	}



	/**
	 * Return the value associated with the column: IsTop
	 */
	public java.lang.Integer getIsTop () {
		return isTop;
	}

	/**
	 * Set the value related to the column: IsTop
	 * @param isTop the IsTop value
	 */
	public void setIsTop (java.lang.Integer isTop) {
		this.isTop = isTop;
	}



	/**
	 * Return the value associated with the column: InfoType
	 */
	public java.lang.Integer getInfoType () {
		return infoType;
	}

	/**
	 * Set the value related to the column: InfoType
	 * @param infoType the InfoType value
	 */
	public void setInfoType (java.lang.Integer infoType) {
		this.infoType = infoType;
	}



	/**
	 * Return the value associated with the column: Publisher
	 */
	public java.lang.String getPublisher () {
		return publisher;
	}

	/**
	 * Set the value related to the column: Publisher
	 * @param publisher the Publisher value
	 */
	public void setPublisher (java.lang.String publisher) {
		this.publisher = publisher;
	}



	/**
	 * Return the value associated with the column: PubTime
	 */
	public java.util.Date getPubTime () {
		return pubTime;
	}

	/**
	 * Set the value related to the column: PubTime
	 * @param pubTime the PubTime value
	 */
	public void setPubTime (java.util.Date pubTime) {
		this.pubTime = pubTime;
	}



	/**
	 * Return the value associated with the column: Operator
	 */
	public java.lang.String getOperator () {
		return operator;
	}

	/**
	 * Set the value related to the column: Operator
	 * @param operator the Operator value
	 */
	public void setOperator (java.lang.String operator) {
		this.operator = operator;
	}



	/**
	 * Return the value associated with the column: OperTime
	 */
	public java.util.Date getOperTime () {
		return operTime;
	}

	/**
	 * Set the value related to the column: OperTime
	 * @param operTime the OperTime value
	 */
	public void setOperTime (java.util.Date operTime) {
		this.operTime = operTime;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontInfoTopic)) return false;
		else {
			AnteFrontInfoTopic anteFrontInfoTopic = (AnteFrontInfoTopic) obj;
			if (null == this.getInfoId() || null == anteFrontInfoTopic.getInfoId()) return false;
			else return (this.getInfoId().equals(anteFrontInfoTopic.getInfoId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getInfoId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getInfoId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}